1. Technical Field
This invention relates to a system and process for handling facsimile communications in a global system for mobile communications (GSM) network, and more particularly, to such a system and process that automatically synchronizes incoming facsimile information, detects a bit-rotated condition and recovers bit-rotated status frames in an unspecified GSM network.
2. Background Art
In the new mobile information age, the cellular phone is delivering more than just voice calls. It is being coupled with portable PCs to send and receive information on corporate intranets, the Internet and online services while on the go for increased productivity and efficiency. Mobile systems are evolving at a rapid pace to provide faster and more sophisticated communications capabilities. The Global System for Mobile Communications (GSM) digital cellular technology promises to deliver the robust platform and high-bandwidth needed to realize these sophisticated communications capabilities. For example, GSM technology makes the transmission and receipt of facsimiles over mobile phone systems a reality. The Global System for Mobile Communications technically refers to a standard created in 1987. Thirteen European countries signed a Memorandum of Understanding and agreed to the construction of a standardized telecommunications system. GSM, a digital, multi-cellular mobile telephone network system, was developed from this standard. In a GSM network, voice is converted into a coded digital signal, which is transmitted and decoded in the receiving GSM handset. Data and facsimiles are also transmitted digitally, currently at 9600 bps, although this data rate is likely to increase significantly in the near future. Originally, GSM was intended to be established only as a Pan-European system, but today has expanded into many other parts of the world, including to some extent the United States of America. Thus, GSM is rapidly becoming a world-wide network. GSM employs a small Subscriber Identity Module Card (SIM Card) that a user inserts into a GSM handset. These SIM cards contain information such as the user""s telephone number and billing data, among other things. This enables a user to travel anywhere in the world having a GSM system and receive phone calls and other data transmissions using their usual telephone number by simply inserting their SIM Card into an appropriate GSM handset. Essentially, this is accomplished via an international roaming feature whereby bilateral roaming agreements between service providers allow reciprocal access to each others network. Mobile users do not have to deal with various foreign dialing tones, access codes, country codes or incompatible hardware. Once a user turns on their GSM handset and logs onto the local network, the system finds them and routes all incoming calls and data transmissions to them just as if they were home. In regards to the handling of data transmissions over a GSM network, one of the primary ways in which this is accomplished is with the use of a conventional notebook PC, and a PC Card designed for GSM networks. The PC Card provides the necessary interface between the notebook PC and the GSM handset (and so the GSM network). Since a GSM mobile phone and a portable PC are both digital devices, a modem in the true sense of the word is not necessary. What is needed is Terminal Adapter Equipment (TAE) to translate between the different digital formats of the GSM phone and the PC, and to simulate an ordinary modem to the PC by sending signals such as a dial tone and busy tone. This is a primary function of the GSM PC Card, although not its only one.
The European Telecommunications Standard (ETS) standards document xe2x80x9cETS 300 538xe2x80x9d Second Edition, reference RE/SMG-0403045P, xe2x80x9cEuropean digital cellular telecommunications system (Phase 2); Technical realization of facsimile group 3 transparent (GSM 03.45)xe2x80x9d specifies a standardized xe2x80x9cfax adaptationxe2x80x9d communications interface used to send and receive group 3 facsimiles (faxes) using the GSM. Among other things, GSM 03.45 defines the following set of fax adaptation frames:
a) SYNC framexe2x80x94an adaptation frame explicitly designed to allow synchronization at the remote end, even in adverse transmission environments. This frame is a unique frame used even as an idle frame when there is no information to be sent over the radio path. The SYNC frames are 8 octet (i.e. byte) frames containing the following values (in hex notation) as specified by the ETS: xe2x80x9c3E 37 50 96 C1 C8 AF 69xe2x80x9d.
b) STATUS framexe2x80x94this frame is intended to carry both state identification codes and state specific information that collectively constitute facsimile transmission instructions. The STATUS frame has a unique structured format as shown in the following Table 1:
The IDENT octets are split into two 4-bit fields, each of which specifies the same state identification code for the status information. The duplication within each IDENT octet is done to mitigate the effects of noise in the bit stream. This is also one of the reasons for repeating of the IDENT and INFO octet pairs four times in each STATUS frame, along with facilitating synchronization checking. The state identification codes contained in the IDENT octets identify what type of state specific information is contained in the INFO octets. For example, an IDENT code 11 (in hex notation) indicates that the INFO octets contain a binary coded signal (BCS) under the ETS. The state specific information contained in the INFO octets can be commands, instructions, etc. For example, in the case of an incoming facsimile transmission, the state specific information may represent a standard facsimile control message used in connection with group 3 faxes. In reference to the state specific information, it is noted that the repetition of the above-described INFO octets in a STATUS frame also allows the incoming bit stream to be adapted to the conventional 300 bps rate associated with the standard facsimile control messages.
c) DATA framexe2x80x94this frame is fully unstructured and carries fax coded information (i.e. scanline data) when data is being passed.
In simplified terms, a typical facsimile transmission in a GSM network would involve a sending GSM unit initiating the transmission by sending a series of SYNC frames to a receiving GSM unit. The receiving unit would identify one or more of the incoming SYNC frames and use the frame(s) to synchronize the incoming transmission so that the individual SYNC, STATUS and DATA frames can be recognized in the incoming facsimile information and processed accordingly. In addition, the receiving unit transmits a series of SYNC and STATUS frames back to the sending unit. The sending unit uses these frames to synchronize the incoming facsimile information and recognize state specific information contained in the incoming STATUS frames. This information can include items such as the capabilities of the: receiving unit. For example, the receiving unit might relay the kinds of data compression it can employ/decode, its data transmission speeds, page sizes it can handle, etc. The sending unit would then transmit, among other things, STATUS frames that specify how the facsimile will be sent in view of the relayed capabilities of the receiving unit. Once the facsimile transmission ground rules are established, the sending unit will transmit the facsimile scan line data by transmitting a special sequence of alternating SYNC and STATUS frames which tell the receiving unit the next non-SYNC/STATUS frame is a DATA frame.
In the true-life realization of a GSM network, the aforementioned frames may be bit rotated from 0 bits to 7 bits. Thus, in order to send and receive facsimiles from any network in the world, there must be a provision for determining the degree of bit rotation in the incoming signal and interpreting the signal so as to synchronize the transmission and recognize the STATUS frame information. One way to accomplish this task would be to store all the bit-rotation patterns for every network in the world. For example, this information could be part of a look up table stored in a memory module of a GSM PC Card. However, such a scheme would have many drawbacks and so is not preferred. For example, this look-up table scheme would require the user to specify what network the handset is operating over via some kind of manual input, so that the system can xe2x80x9clook-upxe2x80x9d the bit-rotation pattern for that network and apply it to the incoming signal. The requirement for user input to send or receive facsimiles complicates the use of the system and is considered very undesirable. New GSM networks are also being formed at a rapid pace. This would require frequent updating or replacement of the GSM PC Card to add new network bit-rotation patterns to the look-up table. In addition, not all networks cause the same bit-rotation pattern to occur at all times. This would complicate the look-up table scheme in that some method would have to be employed to determine which one of various possible bit-rotation patterns was associated with the incoming signal. Further, if the bit-rotation pattern of the network was completely variable, then the look up table scheme would not work at all.
Accordingly, there is a need for a system and method to process potentially bit-rotated facsimile transmissions in a (GSM) network without knowledge of the bit-rotation patterns associated with the particular GSM network involved or the requirement for a user to input information about the network.
The above-described needs are realized with embodiments of the present invention directed to a system and method for handling facsimile transmissions in a digital communications network, such as a GSM network. In general, the preferred process includes first synchronizing incoming binary-coded facsimile information and then recording the degree of bit-rotation exhibited by the facsimile information. Segregated portions of the incoming facsimile information are also identified as either a synchronization sequence, facsimile status information, or neither type. If a portion of the incoming transmission is identified as facsimile status information, any bit-rotated condition present is compensated for prior to further processing. In addition, once the incoming information has been synchronized, every time thereafter that a synchronization sequence or facsimile status information is identified in a portion of the incoming information, this event is used as an indication that the facsimile transmission is still in synchronization. The foregoing process is performed by either a receiving unit receiving a facsimile or by a sending unit receiving facsimile information back from the receiving unit.
The aforementioned synchronizing step is accomplished by first searching the incoming facsimile information for either a non bit-rotated, eight-octet, synchronization sequence, or one of seven other bit-rotated, eight-octet, synchronization sequences. The seven bit-rotated sequences correspond to a version of the non bit-rotated sequence after it has been bit-rotated from one to seven bits, respectively. Specifically, the searching process involves comparing each octet of the incoming facsimile information to the octet occupying a prescribed octet location of each synchronization sequence. For example, assuming the eight octets of each synchronization sequence are sequentially designated by octet locations 0 through 7, the prescribed octet location could correspond to the first octet of each synchronization sequence, i.e. octet location 0. The searching process continues by detecting the first-occurring match between an octet of the incoming facsimile information and one of the compared synchronization sequence octets. The synchronization sequence associated with the matching octet is designated as the selected sequence. The remaining octets of the selected synchronization sequence are then compared to correspondingly located octets of the incoming facsimile information. For example, the remaining seven octets of the selected sequence could be compared to the next seven octets of the incoming facsimile information following the matched octet, in sequence, beginning with the synchronization sequence""s octet location 1 and ending with octet location 7. Whenever all eight octets of the selected synchronization sequence match the correspondingly located eight octets of the incoming facsimile data, that eight-octet portion of the incoming facsimile information is designated as the first-discovered synchronization sequence. This first-discovered synchronization sequence is used to build the first eight-octet, logical facsimile adaptation frame (LFAF). Thereafter, every subsequent group of eight octets of the incoming facsimile information is used to build additional LFAFs. The building of these LFAFs amounts to the aforementioned segregating of the incoming facsimile information.
The step of recording the degree of bit-rotation exhibited by the incoming facsimile information involves noting the number of bits the aforementioned selected synchronization sequence is rotated in comparison to the non bit-rotated sequence. This, in turn, indicates the degree of bit rotation associated with the first-discovered synchronization sequence. An indicator of the number of bits the first-discovered synchronization sequence is rotated is then stored for future use. Preferably, the indicator constitutes a number varying from zero to seven, wherein zero indicates that the first-discovered synchronization sequence corresponds to the non bit-rotated sequence, and one through seven indicate that the first-discovered synchronization sequence corresponds to the non-bit-rotated sequence which has been rotated from one to seven bits, respectively.
The aforementioned step of identifying segregated portions of the incoming facsimile information as either a synchronization sequence, facsimile status information, or neither, preferably involves declaring a LFAF to be a SYNC frame if it contains a portion of the incoming facsimile information reported as being a synchronization sequence, declaring a LFAF to be a STATUS frame if it contains a portion of the incoming facsimile information reported as being facsimile status information, and declaring a LFAF to be an Unknown frame if it contains a portion of the incoming facsimile information not reported as being either a synchronization sequence or facsimile status information. Determining whether a LFAF contains a synchronization sequence entails comparing a designated octet of the LFAF to a correspondingly located octet of the previously selected synchronization sequence and then detecting if there is a match. However, in searching for the original synchronization sequence in the incoming facsimile information, it was critical that all eight octets were found to ensure the transmission was properly synchronized. This is not as critical in the LFAF identification process, and fewer than all the octets of the LFAF could be compared and matched to the selected synchronization sequence, thereby simplifying the process to some degree. In addition, the ability to detect the presence of a synchronization sequence in a LFAF by comparing and matching less than all eight octets has a significant advantage in the LFAF identification process. Namely, it is known that the information contained in octet location 0 of a LFAF created from the incoming facsimile information is susceptible to corruption during transmission in some GSM networks. Thus, by eliminating this octet from the comparing step, the ability to identify the LFAF as containing a synchronization sequence is enhanced. While others of the LFAF""s octets could also be eliminated from the comparison process to further reduce the processing, this also lowers the confidence level that the LFAF actually the selected synchronization sequence. Therefore, it is preferred that all the remaining octets, exclusive of the first, be used in the comparison. In such a case, the aforementioned correspondingly located octet of the selected synchronization sequence associated with the designated octet of the LFAF preferably corresponds to octet location 1 and the remaining octets of the selected synchronization sequence compared to the correspondingly located octets in the LFAF correspond to octet locations 2 through 7. Finally, the process of determining whether a LFAF contains a synchronization sequence concludes by reporting the LFAF contains such a sequence if all the compared octets match, thereby identifying the LFAF to be a SYNC frame. It is noted that once an LFAF is identified as a SYNC frame, this provides an indication that the facsimile transmission is still in synchronization.
The process of declaring a LFAF to be a STATUS frame involves the steps of comparing at least one of the LFAF""s octets residing in either an odd or even octet location with another of the LFAF""s octets residing in either an odd or even location, respectively. In other words, an octet occupying an odd octet location is compared an octet occupying another of the odd octet locations, and an octet occupying an even octet location is compared to an octet occupying another of the even octet locations. The number of these octet pairs compared is a question of what level of confidence is required in ascertaining whether a LFAF is a STATUS frame. In the preferred embodiment of the present invention, this process entails comparing the octet at octet location 1 with the octet at octet location 3, the octet at octet location 2 with the octet at octet location 4, the octet at octet location 3 with the octet at octet location 5, and the octet at octet location 4 with the octet at octet location 6. It is believed this pattern of comparison will provide an adequate level of confidence that the LFAF is a STATUS frame if all the compared octets match. However, if desired, the process can additionally entail comparing the octet at octet location 0 with the octet at octet location 2, and the octet at octet location 5 with the octet at octet location 7. It is noted that once an LFAF is identified as a STATUS frame, this fact also provides an indication that the facsimile transmission is still in synchronization.
The general step of compensating for any bit-rotated condition present in a portion of the incoming facsimile information containing facsimile status information is accomplished by rotating the bits of any LFAF declared to be a STATUS frame by the number of bits denoted by the stored indicator. The rotating of bits involves sequentially shifting bits from a front end of the LFAF to a back end of the LFAF until the number of bits shifted equals the number denoted by the stored indicator. This results in placing the STATUS frame in a non bit-rotated condition ready for further processing in the communications system.
The system and method embodying the present invention also include a capability to determine whether the incoming facsimile information is still in synchronization whenever an LFAF is declared to be an Unknown frame and no facsimile scan line data is expected. Preferably, this is accomplished by monitoring what type of frame each LFAF is declared to be and then tracking the number of consecutive LFAFs declared to be Unknown frames. Whenever a prescribed number of consecutive Unknown frames are detected, the incoming facsimile information is declared to be out of synchronization. This prescribed number is preferably five frames. Finally, the incoming facsimile information is re-synchronized by starting the foregoing process over from the beginning. This is done whenever it is determined that the transmission has fallen out of synchronization.
The foregoing process as employed in an appropriate computing environment, be it a firmware adaptation or a general purpose computer, resolves the problems described in connection with handling facsimile transmissions in a GSM network. The process allows bit-rotated STATUS frames to be placed in a non bit-rotated condition prior to being processed in the system. This is done automatically by gleaning the degree of bit rotation from the first synchronization sequence discovered in the incoming facsimile information, and then using this knowledge to compensate for the undesired bit-rotation caused by the particular GSM network the user is employing to receive or send the facsimile. No prior knowledge about the GSM network is necessary and the user does not need to input anything to facilitate the bit rotation compensation process. In addition, as an added benefit of the bit rotation compensation process, synchronization sequences and facsimile status information embedded within the incoming facsimile information are identified and used to confirm that the facsimile transmission is still in synchronization.
In addition to the just described benefits, other objectives and advantages of the present invention will become apparent from the detailed description which follows hereinafter when taken in conjunction with the drawing figures which accompany it.